Fix/resolve model tier aliases at dispatch#10
Fix/resolve model tier aliases at dispatch#10superbusinesstools wants to merge 6 commits intooxgeneral:mainfrom
Conversation
superbusinesstools
commented
Apr 17, 2026
- feat(models) — adds Claude Opus 4.7 to the tier map and TUI model pickers (claude + opencode) — this was the pre-existing diff on the branch
- fix(orchestrator) — resolves tier aliases at dispatch time so any agent YAML storing balanced/capable/fast as the model works correctly without needing migration
Pressing Enter inside wizard textareas (goal/task/agent descriptions) adds a newline — there was no Linux-friendly way to confirm. Ctrl+Enter is indistinguishable from Enter in most Linux terminals, so the only confirm path was unusable. Ctrl+S now confirms any textarea step in FormWizard. It is surfaced in the bottom CommandBar, which switches to step-specific hints while a wizard is open (bold amber Ctrl+S for textareas, step-appropriate hints for text/select/multiselect). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Two small UX fixes: * Empty single-line inputs rendered the cursor after the placeholder, making it look like the cursor was floating mid-line. Render cursor before placeholder so it sits at column 0, matching user expectation. * Reopening the edit-agent wizard immediately after saving showed the pre-save values because refreshAll() is async. Merge the returned agent into liveAgents synchronously in the save callback, and add liveAgents to launchEditAgentWizard's dependency array so the wizard uses the latest snapshot. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Convenience scripts for testing a local build against the globally-installed orch binary. dev-link.sh builds and npm-links the fork; dev-unlink.sh restores the global install. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Agents whose YAML stored a semantic tier name (capable/balanced/fast) instead of a concrete model string would pass the alias directly to the adapter CLI (e.g. --model balanced), causing a 404 from the API. Now resolves any tier alias to the adapter-specific model string at dispatch time, making legacy YAML files safe without requiring migration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Great follow-up — the live tier-alias idea (so agents automatically ride the new flagship when A few questions/asks before merge — nothing blocking, but worth clarifying: ❓ Motivation for resolving at dispatchRight now both
If (b), it's worth a small companion change: the agent edit wizard could offer a "Use tier (capable/balanced/fast)" option alongside concrete model picks — otherwise the capability exists but has no user-facing way to opt in. A one-line README/CHANGELOG note explaining the semantic would also help. 🟡 Missing orchestrator testThe resolve logic touches core dispatch in it('resolves tier alias in agent config before dispatch', async () => {
const agent = makeAgent({ adapter: 'claude', config: { model: 'capable' } });
// spy adapter.execute; run a tick; assert call.config.model === 'claude-opus-4-7'
});There's also no assertion anywhere that 🔵 Nits (optional)
🧵 Workflow — stacked on PR #9This PR includes all three commits from PR #9. Since PR #9 has a blocker (
I'm fine with either. Let me know what fits your workflow. Also heads-up: CI hasn't run on this PR yet because it inherits the same "first-time contributor" workflow gate as PR #9. I'll click Approve and run once the above is sorted so we see a green Thanks again — two solid PRs in a day is a rare signal 🙌 |
…ier aliases in wizard - model-tiers: update opencode.capable to claude-opus-4.7 (matches wizardConfigs) - wizardConfigs: rename opus 4.6 hints 'most capable' → 'previous flagship' so there is one clear top choice; add capable/balanced/fast tier aliases as wizard options so users can opt into live tier resolution without hand-editing YAML - model-tiers.test.ts: update claude capable assertion to 4-7 (was failing); add explicit named assertion so a future bump is impossible to miss - orchestrator-tier-aliases.test.ts: 4 new tests covering capable/balanced/fast alias resolution and concrete model pass-through at dispatchTask time Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>